/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2024 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.materialdesign2;

import org.kordamp.ikonli.Ikon;

/**
 * @author Andres Almiray
 */
public enum MaterialDesignH implements Ikon {
    HAIL("mdi2h-hail", "F0AC1"),
    HAIR_DRYER("mdi2h-hair-dryer", "F10EF"),
    HAIR_DRYER_OUTLINE("mdi2h-hair-dryer-outline", "F10F0"),
    HALLOWEEN("mdi2h-halloween", "F0BA3"),
    HAMBURGER("mdi2h-hamburger", "F0685"),
    HAMMER("mdi2h-hammer", "F08EA"),
    HAMMER_SCREWDRIVER("mdi2h-hammer-screwdriver", "F1322"),
    HAMMER_WRENCH("mdi2h-hammer-wrench", "F1323"),
    HAND("mdi2h-hand", "F0A4F"),
    HAND_HEART("mdi2h-hand-heart", "F10F1"),
    HAND_HEART_OUTLINE("mdi2h-hand-heart-outline", "F157E"),
    HAND_LEFT("mdi2h-hand-left", "F0E46"),
    HAND_OKAY("mdi2h-hand-okay", "F0A50"),
    HAND_PEACE("mdi2h-hand-peace", "F0A51"),
    HAND_PEACE_VARIANT("mdi2h-hand-peace-variant", "F0A52"),
    HAND_POINTING_DOWN("mdi2h-hand-pointing-down", "F0A53"),
    HAND_POINTING_LEFT("mdi2h-hand-pointing-left", "F0A54"),
    HAND_POINTING_RIGHT("mdi2h-hand-pointing-right", "F02C7"),
    HAND_POINTING_UP("mdi2h-hand-pointing-up", "F0A55"),
    HAND_RIGHT("mdi2h-hand-right", "F0E47"),
    HAND_SAW("mdi2h-hand-saw", "F0E48"),
    HAND_WASH("mdi2h-hand-wash", "F157F"),
    HAND_WASH_OUTLINE("mdi2h-hand-wash-outline", "F1580"),
    HAND_WATER("mdi2h-hand-water", "F139F"),
    HANDBALL("mdi2h-handball", "F0F53"),
    HANDCUFFS("mdi2h-handcuffs", "F113E"),
    HANDSHAKE("mdi2h-handshake", "F1218"),
    HANDSHAKE_OUTLINE("mdi2h-handshake-outline", "F15A1"),
    HANGER("mdi2h-hanger", "F02C8"),
    HARD_HAT("mdi2h-hard-hat", "F096F"),
    HARDDISK("mdi2h-harddisk", "F02CA"),
    HARDDISK_PLUS("mdi2h-harddisk-plus", "F104B"),
    HARDDISK_REMOVE("mdi2h-harddisk-remove", "F104C"),
    HAT_FEDORA("mdi2h-hat-fedora", "F0BA4"),
    HAZARD_LIGHTS("mdi2h-hazard-lights", "F0C89"),
    HDR("mdi2h-hdr", "F0D7D"),
    HDR_OFF("mdi2h-hdr-off", "F0D7E"),
    HEAD("mdi2h-head", "F135E"),
    HEAD_ALERT("mdi2h-head-alert", "F1338"),
    HEAD_ALERT_OUTLINE("mdi2h-head-alert-outline", "F1339"),
    HEAD_CHECK("mdi2h-head-check", "F133A"),
    HEAD_CHECK_OUTLINE("mdi2h-head-check-outline", "F133B"),
    HEAD_COG("mdi2h-head-cog", "F133C"),
    HEAD_COG_OUTLINE("mdi2h-head-cog-outline", "F133D"),
    HEAD_DOTS_HORIZONTAL("mdi2h-head-dots-horizontal", "F133E"),
    HEAD_DOTS_HORIZONTAL_OUTLINE("mdi2h-head-dots-horizontal-outline", "F133F"),
    HEAD_FLASH("mdi2h-head-flash", "F1340"),
    HEAD_FLASH_OUTLINE("mdi2h-head-flash-outline", "F1341"),
    HEAD_HEART("mdi2h-head-heart", "F1342"),
    HEAD_HEART_OUTLINE("mdi2h-head-heart-outline", "F1343"),
    HEAD_LIGHTBULB("mdi2h-head-lightbulb", "F1344"),
    HEAD_LIGHTBULB_OUTLINE("mdi2h-head-lightbulb-outline", "F1345"),
    HEAD_MINUS("mdi2h-head-minus", "F1346"),
    HEAD_MINUS_OUTLINE("mdi2h-head-minus-outline", "F1347"),
    HEAD_OUTLINE("mdi2h-head-outline", "F135F"),
    HEAD_PLUS("mdi2h-head-plus", "F1348"),
    HEAD_PLUS_OUTLINE("mdi2h-head-plus-outline", "F1349"),
    HEAD_QUESTION("mdi2h-head-question", "F134A"),
    HEAD_QUESTION_OUTLINE("mdi2h-head-question-outline", "F134B"),
    HEAD_REMOVE("mdi2h-head-remove", "F134C"),
    HEAD_REMOVE_OUTLINE("mdi2h-head-remove-outline", "F134D"),
    HEAD_SNOWFLAKE("mdi2h-head-snowflake", "F134E"),
    HEAD_SNOWFLAKE_OUTLINE("mdi2h-head-snowflake-outline", "F134F"),
    HEAD_SYNC("mdi2h-head-sync", "F1350"),
    HEAD_SYNC_OUTLINE("mdi2h-head-sync-outline", "F1351"),
    HEADPHONES("mdi2h-headphones", "F02CB"),
    HEADPHONES_BLUETOOTH("mdi2h-headphones-bluetooth", "F0970"),
    HEADPHONES_BOX("mdi2h-headphones-box", "F02CC"),
    HEADPHONES_OFF("mdi2h-headphones-off", "F07CE"),
    HEADPHONES_SETTINGS("mdi2h-headphones-settings", "F02CD"),
    HEADSET("mdi2h-headset", "F02CE"),
    HEADSET_DOCK("mdi2h-headset-dock", "F02CF"),
    HEADSET_OFF("mdi2h-headset-off", "F02D0"),
    HEART("mdi2h-heart", "F02D1"),
    HEART_BOX("mdi2h-heart-box", "F02D2"),
    HEART_BOX_OUTLINE("mdi2h-heart-box-outline", "F02D3"),
    HEART_BROKEN("mdi2h-heart-broken", "F02D4"),
    HEART_BROKEN_OUTLINE("mdi2h-heart-broken-outline", "F0D14"),
    HEART_CIRCLE("mdi2h-heart-circle", "F0971"),
    HEART_CIRCLE_OUTLINE("mdi2h-heart-circle-outline", "F0972"),
    HEART_COG("mdi2h-heart-cog", "F1663"),
    HEART_COG_OUTLINE("mdi2h-heart-cog-outline", "F1664"),
    HEART_FLASH("mdi2h-heart-flash", "F0EF9"),
    HEART_HALF("mdi2h-heart-half", "F06DF"),
    HEART_HALF_FULL("mdi2h-heart-half-full", "F06DE"),
    HEART_HALF_OUTLINE("mdi2h-heart-half-outline", "F06E0"),
    HEART_MINUS("mdi2h-heart-minus", "F142F"),
    HEART_MINUS_OUTLINE("mdi2h-heart-minus-outline", "F1432"),
    HEART_MULTIPLE("mdi2h-heart-multiple", "F0A56"),
    HEART_MULTIPLE_OUTLINE("mdi2h-heart-multiple-outline", "F0A57"),
    HEART_OFF("mdi2h-heart-off", "F0759"),
    HEART_OFF_OUTLINE("mdi2h-heart-off-outline", "F1434"),
    HEART_OUTLINE("mdi2h-heart-outline", "F02D5"),
    HEART_PLUS("mdi2h-heart-plus", "F142E"),
    HEART_PLUS_OUTLINE("mdi2h-heart-plus-outline", "F1431"),
    HEART_PULSE("mdi2h-heart-pulse", "F05F6"),
    HEART_REMOVE("mdi2h-heart-remove", "F1430"),
    HEART_REMOVE_OUTLINE("mdi2h-heart-remove-outline", "F1433"),
    HEART_SETTINGS("mdi2h-heart-settings", "F1665"),
    HEART_SETTINGS_OUTLINE("mdi2h-heart-settings-outline", "F1666"),
    HELICOPTER("mdi2h-helicopter", "F0AC2"),
    HELP("mdi2h-help", "F02D6"),
    HELP_BOX("mdi2h-help-box", "F078B"),
    HELP_CIRCLE("mdi2h-help-circle", "F02D7"),
    HELP_CIRCLE_OUTLINE("mdi2h-help-circle-outline", "F0625"),
    HELP_NETWORK("mdi2h-help-network", "F06F5"),
    HELP_NETWORK_OUTLINE("mdi2h-help-network-outline", "F0C8A"),
    HELP_RHOMBUS("mdi2h-help-rhombus", "F0BA5"),
    HELP_RHOMBUS_OUTLINE("mdi2h-help-rhombus-outline", "F0BA6"),
    HEXADECIMAL("mdi2h-hexadecimal", "F12A7"),
    HEXAGON("mdi2h-hexagon", "F02D8"),
    HEXAGON_MULTIPLE("mdi2h-hexagon-multiple", "F06E1"),
    HEXAGON_MULTIPLE_OUTLINE("mdi2h-hexagon-multiple-outline", "F10F2"),
    HEXAGON_OUTLINE("mdi2h-hexagon-outline", "F02D9"),
    HEXAGON_SLICE_1("mdi2h-hexagon-slice-1", "F0AC3"),
    HEXAGON_SLICE_2("mdi2h-hexagon-slice-2", "F0AC4"),
    HEXAGON_SLICE_3("mdi2h-hexagon-slice-3", "F0AC5"),
    HEXAGON_SLICE_4("mdi2h-hexagon-slice-4", "F0AC6"),
    HEXAGON_SLICE_5("mdi2h-hexagon-slice-5", "F0AC7"),
    HEXAGON_SLICE_6("mdi2h-hexagon-slice-6", "F0AC8"),
    HEXAGRAM("mdi2h-hexagram", "F0AC9"),
    HEXAGRAM_OUTLINE("mdi2h-hexagram-outline", "F0ACA"),
    HIGH_DEFINITION("mdi2h-high-definition", "F07CF"),
    HIGH_DEFINITION_BOX("mdi2h-high-definition-box", "F0878"),
    HIGHWAY("mdi2h-highway", "F05F7"),
    HIKING("mdi2h-hiking", "F0D7F"),
    HINDUISM("mdi2h-hinduism", "F0973"),
    HISTORY("mdi2h-history", "F02DA"),
    HOCKEY_PUCK("mdi2h-hockey-puck", "F0879"),
    HOCKEY_STICKS("mdi2h-hockey-sticks", "F087A"),
    HOLOLENS("mdi2h-hololens", "F02DB"),
    HOME("mdi2h-home", "F02DC"),
    HOME_ACCOUNT("mdi2h-home-account", "F0826"),
    HOME_ALERT("mdi2h-home-alert", "F087B"),
    HOME_ALERT_OUTLINE("mdi2h-home-alert-outline", "F15D0"),
    HOME_ANALYTICS("mdi2h-home-analytics", "F0EBA"),
    HOME_ASSISTANT("mdi2h-home-assistant", "F07D0"),
    HOME_AUTOMATION("mdi2h-home-automation", "F07D1"),
    HOME_CIRCLE("mdi2h-home-circle", "F07D2"),
    HOME_CIRCLE_OUTLINE("mdi2h-home-circle-outline", "F104D"),
    HOME_CITY("mdi2h-home-city", "F0D15"),
    HOME_CITY_OUTLINE("mdi2h-home-city-outline", "F0D16"),
    HOME_CURRENCY_USD("mdi2h-home-currency-usd", "F08AF"),
    HOME_EDIT("mdi2h-home-edit", "F1159"),
    HOME_EDIT_OUTLINE("mdi2h-home-edit-outline", "F115A"),
    HOME_EXPORT_OUTLINE("mdi2h-home-export-outline", "F0F9B"),
    HOME_FLOOD("mdi2h-home-flood", "F0EFA"),
    HOME_FLOOR_0("mdi2h-home-floor-0", "F0DD2"),
    HOME_FLOOR_1("mdi2h-home-floor-1", "F0D80"),
    HOME_FLOOR_2("mdi2h-home-floor-2", "F0D81"),
    HOME_FLOOR_3("mdi2h-home-floor-3", "F0D82"),
    HOME_FLOOR_A("mdi2h-home-floor-a", "F0D83"),
    HOME_FLOOR_B("mdi2h-home-floor-b", "F0D84"),
    HOME_FLOOR_G("mdi2h-home-floor-g", "F0D85"),
    HOME_FLOOR_L("mdi2h-home-floor-l", "F0D86"),
    HOME_FLOOR_NEGATIVE_1("mdi2h-home-floor-negative-1", "F0DD3"),
    HOME_GROUP("mdi2h-home-group", "F0DD4"),
    HOME_HEART("mdi2h-home-heart", "F0827"),
    HOME_IMPORT_OUTLINE("mdi2h-home-import-outline", "F0F9C"),
    HOME_LIGHTBULB("mdi2h-home-lightbulb", "F1251"),
    HOME_LIGHTBULB_OUTLINE("mdi2h-home-lightbulb-outline", "F1252"),
    HOME_LOCK("mdi2h-home-lock", "F08EB"),
    HOME_LOCK_OPEN("mdi2h-home-lock-open", "F08EC"),
    HOME_MAP_MARKER("mdi2h-home-map-marker", "F05F8"),
    HOME_MINUS("mdi2h-home-minus", "F0974"),
    HOME_MINUS_OUTLINE("mdi2h-home-minus-outline", "F13D5"),
    HOME_MODERN("mdi2h-home-modern", "F02DD"),
    HOME_OUTLINE("mdi2h-home-outline", "F06A1"),
    HOME_PLUS("mdi2h-home-plus", "F0975"),
    HOME_PLUS_OUTLINE("mdi2h-home-plus-outline", "F13D6"),
    HOME_REMOVE("mdi2h-home-remove", "F1247"),
    HOME_REMOVE_OUTLINE("mdi2h-home-remove-outline", "F13D7"),
    HOME_ROOF("mdi2h-home-roof", "F112B"),
    HOME_SEARCH("mdi2h-home-search", "F13B0"),
    HOME_SEARCH_OUTLINE("mdi2h-home-search-outline", "F13B1"),
    HOME_THERMOMETER("mdi2h-home-thermometer", "F0F54"),
    HOME_THERMOMETER_OUTLINE("mdi2h-home-thermometer-outline", "F0F55"),
    HOME_VARIANT("mdi2h-home-variant", "F02DE"),
    HOME_VARIANT_OUTLINE("mdi2h-home-variant-outline", "F0BA7"),
    HOOK("mdi2h-hook", "F06E2"),
    HOOK_OFF("mdi2h-hook-off", "F06E3"),
    HOPS("mdi2h-hops", "F02DF"),
    HORIZONTAL_ROTATE_CLOCKWISE("mdi2h-horizontal-rotate-clockwise", "F10F3"),
    HORIZONTAL_ROTATE_COUNTERCLOCKWISE("mdi2h-horizontal-rotate-counterclockwise", "F10F4"),
    HORSE("mdi2h-horse", "F15BF"),
    HORSE_HUMAN("mdi2h-horse-human", "F15C0"),
    HORSE_VARIANT("mdi2h-horse-variant", "F15C1"),
    HORSESHOE("mdi2h-horseshoe", "F0A58"),
    HOSPITAL("mdi2h-hospital", "F0FF6"),
    HOSPITAL_BOX("mdi2h-hospital-box", "F02E0"),
    HOSPITAL_BOX_OUTLINE("mdi2h-hospital-box-outline", "F0FF7"),
    HOSPITAL_BUILDING("mdi2h-hospital-building", "F02E1"),
    HOSPITAL_MARKER("mdi2h-hospital-marker", "F02E2"),
    HOT_TUB("mdi2h-hot-tub", "F0828"),
    HOURS_24("mdi2h-hours-24", "F1478"),
    HUBSPOT("mdi2h-hubspot", "F0D17"),
    HULU("mdi2h-hulu", "F0829"),
    HUMAN("mdi2h-human", "F02E6"),
    HUMAN_BABY_CHANGING_TABLE("mdi2h-human-baby-changing-table", "F138B"),
    HUMAN_CANE("mdi2h-human-cane", "F1581"),
    HUMAN_CAPACITY_DECREASE("mdi2h-human-capacity-decrease", "F159B"),
    HUMAN_CAPACITY_INCREASE("mdi2h-human-capacity-increase", "F159C"),
    HUMAN_CHILD("mdi2h-human-child", "F02E7"),
    HUMAN_EDIT("mdi2h-human-edit", "F14E8"),
    HUMAN_FEMALE("mdi2h-human-female", "F0649"),
    HUMAN_FEMALE_BOY("mdi2h-human-female-boy", "F0A59"),
    HUMAN_FEMALE_DANCE("mdi2h-human-female-dance", "F15C9"),
    HUMAN_FEMALE_FEMALE("mdi2h-human-female-female", "F0A5A"),
    HUMAN_FEMALE_GIRL("mdi2h-human-female-girl", "F0A5B"),
    HUMAN_GREETING("mdi2h-human-greeting", "F064A"),
    HUMAN_GREETING_PROXIMITY("mdi2h-human-greeting-proximity", "F159D"),
    HUMAN_HANDSDOWN("mdi2h-human-handsdown", "F064B"),
    HUMAN_HANDSUP("mdi2h-human-handsup", "F064C"),
    HUMAN_MALE("mdi2h-human-male", "F064D"),
    HUMAN_MALE_BOY("mdi2h-human-male-boy", "F0A5C"),
    HUMAN_MALE_CHILD("mdi2h-human-male-child", "F138C"),
    HUMAN_MALE_FEMALE("mdi2h-human-male-female", "F02E8"),
    HUMAN_MALE_GIRL("mdi2h-human-male-girl", "F0A5D"),
    HUMAN_MALE_HEIGHT("mdi2h-human-male-height", "F0EFB"),
    HUMAN_MALE_HEIGHT_VARIANT("mdi2h-human-male-height-variant", "F0EFC"),
    HUMAN_MALE_MALE("mdi2h-human-male-male", "F0A5E"),
    HUMAN_PREGNANT("mdi2h-human-pregnant", "F05CF"),
    HUMAN_QUEUE("mdi2h-human-queue", "F1571"),
    HUMAN_SCOOTER("mdi2h-human-scooter", "F11E9"),
    HUMAN_WHEELCHAIR("mdi2h-human-wheelchair", "F138D"),
    HUMBLE_BUNDLE("mdi2h-humble-bundle", "F0744"),
    HVAC("mdi2h-hvac", "F1352"),
    HVAC_OFF("mdi2h-hvac-off", "F159E"),
    HYDRAULIC_OIL_LEVEL("mdi2h-hydraulic-oil-level", "F1324"),
    HYDRAULIC_OIL_TEMPERATURE("mdi2h-hydraulic-oil-temperature", "F1325"),
    HYDRO_POWER("mdi2h-hydro-power", "F12E5");

    public static MaterialDesignH findByDescription(String description) {
        for (MaterialDesignH font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private String description;
    private int code;

    MaterialDesignH(String description, String code) {
        this.description = description;
        this.code = Integer.parseInt(code, 16);
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}
